1. Field of the Invention
The present invention relates to consumer electronics, and more particularly, to activity-based control of consumer electronics.
2. Background of Invention
The majority of consumer electronic (“CE”) devices are remotely controllable through handheld remote control units that transmit commands via signals intelligible to the CE device. Remote control units can control a plethora of CE devices including, but not limited to televisions, amplifiers, stereos, receivers, VCRs, DVD players (including, but not limited to Blu-Ray and HD-DVD players), CD players, personal video recorders, tape players, cable or satellite set-top boxes, lighting systems, window shade systems and climate control systems. Example commands for controlling such devices include, but are not limited to, power on/off, channel select, channel up/down, and volume up/down.
A conventional remote control typically comprises a housing structure, a keypad within the housing structure for entering commands by the user, electronic circuitry within the housing structure connected to the keypad, and a transmitter electrically coupled to the electronic circuitry for transmitting a control signal, which is typically an infra-red (“IR”) or radio frequency (“RF”) signal to an electronic device to be operated. More advanced remote controls further support a user interface consisting of an LCD screen, for example, that allows more sophisticated use of the remote control. Other types of remote control units can include, but are not limited to, personal data assistants (“PDA”) or smartphones.
Increasingly, a single remote control, commonly referred to as a “universal remote control,” is used to control multiple electronic devices. Most universal remote controls have selector buttons or icons that are associated with the specific electronic devices to be controlled, such a VCR, DVD, Cable, etc.). Additionally, some remote control devices support “Activity-based” or “experienced based control.”
“Activity-based” or “experience-based” control refers to giving the user of a remote control device the ability to select an activity, or “user experience,” such as “watch DVD,” instead of controlling the individual devices directly. The device will send commands that power on the needed devices, set their inputs, and set their tuners in a way that instantiates that experience (e.g., turn TV on, wait, set it to the AV2 input, turn the receiver on, set the receiver to the DVD input, turn the DVD on, etc.).
The challenge in performing activity-based control is that the device control commands that have to be sent are often dependent on the current status of the device. This status is a function of the commands that were previously sent to the device. For example, a power-toggle command will turn a device on if it is currently off, and turn the device off if it is on. An input-cycle command will change a device's input selection to the next input in its sequence of inputs.
The traditional approach to performing this type of control, adopted by most integrators (i.e., organizations that program home control systems, such as those manufactured by Crestron and AMX), has been to track user commands and model the state in the software of the control system according to those commands. For example, the control software will start with all devices in a known state. When it sends a power-toggle command to a TV, it will set its status of that TV as “on.” When the TV needs to be turned off, the control software will check if its status is “off.” If the state is not “off”, the software will send a power-toggle command and set the state to “on.”
The traditional approach to activity-based control depends on tracking user commands input into the remote control device to calculate device state. In other words, this approach essentially assumes what the states of the devices should be according to user operation, rather than what they actually are. As a result, this approach is only as good as the accuracy of its device-state assumptions. On occasion, these assumptions are incorrect and the system “gets out of whack” and must be resynchronized with the remote control device by the user. This may happen, for example, if an IR control signal was blocked from being received by the device.
An alternative technique for activity-based control is to use discrete commands that are not dependent on the current device state. Examples of these are “on,” “off,” and explicit input selectors. Unfortunately, these commands are not always available for devices. Another alternative technique is to use sensors to determine the true on/off state of a device. These include status LED sensors, RF emission sensors (for TV), and current change sensors. These can be used only for changes that can be measured and become problematic or impossible to use for detecting the current device input state.
Accordingly, what is needed is a new approach to achieving activity-based control that provides an alternative to existing approaches dependent on device state.